草庐IT

python线程: memory model and visibility

全部标签

python - 在 python 的 Windows 中以编程方式从待机/休眠中唤醒?

我正在考虑制作一个闹钟,它可以在某个预定时间将某些系统(取决于主板型号)从休眠/待机模式中唤醒。我见过类似的软件这样做,我想是在VB中。我似乎无法在任何地方找到任何关于如何在Python中执行此操作的文档。有没有人有任何提示?如果在Python中不可能,是否有办法在例如Python中做到这一点?c++并从python调用该二进制文件?谢谢! 最佳答案 SetWaitableTimer可以唤醒挂起的机器。 关于python-在python的Windows中以编程方式从待机/休眠中唤醒?,我

Python:获取对象的 “attribute/method/property” 作为方法的参数或作为属性

在WMI模块中(是的,我的老板希望我在Windows中编程—但至少它不是在COBOL中),您似乎可以通过将其名称作为方法的字符串参数传递来访问WMI值,blabla=wmithingy().getvalue('nameOfValue')或作为属性/方法:blabla=wmithingy().nameOfValue()我是在做梦,抽坏大麻,还是可以有效地完成(以及如何)? 最佳答案 要么getvalue()方法使用getattr(),或__getattr__()方法遵从getvalue()方法。

c++ - 取消WIN32线程池中计划的work/io/timer项

我一直在研究Windows的(新的?)线程池API。我一直在关注UsingtheThreadPoolFunctions中的示例我一直在仔细研究MSDN上的API。关于清理组,我有些不明白。调用SetThreadpoolCallbackCleanupGroup()时,第三个参数描述为Thecleanupcallbacktobecalledifthecleanupgroupiscanceledbeforetheassociatedobjectisreleased.ThefunctioniscalledwhenyoucallCloseThreadpoolCleanupGroupMembers

c++ - 池化线程的 SetThreadAffinityMask

我想知道是否可以设置从线程池中获取的线程的处理器关联性。更具体地说,线程是通过使用我用来实现周期性任务的TimerQueueAPI获得的。作为旁注:我发现TimerQueues是实现周期性任务的最简单方法,但由于这些通常是长期任务,为此目的使用专用线程是否更合适?此外,预计需要使用信号量和互斥量等同步原语来同步各种周期性任务。池线程适合这些吗?谢谢!EDIT1:正如Leo指出的那样,上述问题实际上是两个松散相关的问题。第一个与池线程的处理器亲和性有关。第二个问题与从TimerQueueAPI获得的池化线程在涉及同步对象时的行为是否与手动创建的线程一样。我将把第二个问题移到一个单独的主题

python - 来自 werkzeug 的 Run_simple dev Web 服务器不使用 Windows 下的重新加载程序运行

我无法在windows和use_reloader=True下从werkzeug运行run_simple开发网络服务器:run_simple("localhost",8090,application,use_reloader=True)最终它在wergzeug.serving中遍历new_environ时抛出toomanyvaluestounpack。如果我删除use_reloader(默认为False),服务器运行不会出现问题。我想念什么?更新:此问题仅出现在0.6版本上。(也就是说,在0.5上工作,在0.6上没有。我不知道小的修改。) 最佳答案

python - 在 Windows 上安装 Django

由于我的本地机器是Windows,所以我在本地机器上安装django有点费时。我有问题的一件事是包含#!/usr/bin/envpython每个文件都有这个包含。我在我的全局变量中设置了python,所以我可以调用它,就像python或者我可以像这样包含它#!python但不喜欢#!/usr/bin/envpython我的假设是,为了让它起作用。我可能不得不将我的解释器移动到一个名为的文件夹中c:/user/bin/env是这样还是有更好的办法。我该死的肯定不想更改所有文件夹中的所有路径。 最佳答案 你只需要设置PATH环境变量(添

windows - 无论如何,我无法让这个进度条从线程更新

我有一个用C语言(使用gcc/MinGW)编写的Windows应用程序,除了一些UI问题外,它运行良好。第一,我根本无法让进度条从线程更新。事实上,我可能无法更新任何UI内容。基本上,我有一个执行某些处理的派生线程,我尝试从该线程更新主线程中的进度条。我通过对主hwnd使用PostMessage()来尝试这个,但没有运气,即使我可以做其他事情,比如打开消息框。但是,不清楚消息框是在线程内还是在主线程上被调用。这是一些代码://inheader/globallyaccessibleHWNDwnd;//mainapplicationwindowHWNDprogress_bar;//prog

python - 我可以在 python sys.path 中看到目录,但在尝试导入库时出现错误?

我的猜测是我遗漏了一些非常基本和明显的东西,有人可以向我指出这些东西。下面的简短命令行session屏幕截图显示了以下内容:我可以看到sys.path中存在pysal目录,但当我尝试导入pysal时却收到ImportError? 最佳答案 Python在sys.path中的条目中导入包和模块,而不是条目本身。这意味着C:\Users\Max\Documents\pysal\pysal.py或C:\Users\Max\Documents\pysal\pysal\__init__.py会必须存在才能导入。

python - 如何在 pypi 上为多个版本的 Python 分发预编译的 Windows 扩展模块?

我想为Python2.6和Python2.7分发预编译的C扩展模块,用于32位和64位版本的Python。我应该如何在pypi上构建和分发它?我应该只使用bdist_egg吗?我可以保持与pip的兼容性吗?我注意到普通的bdist只是创建了一个不包含Python版本的.zip,尽管内部文件夹结构包含。这个.zip可以只包含例如Python26和Python27子目录? 最佳答案 您通常需要为需要支持的每个Python版本运行bdist_something。bdist_egg确实适用于PIPafaik(您可以轻松地对其进行测试)。Zo

python - 为 Popen() 调用最小化了 CMD 窗口?

我正在使用Popen()启动一个Windows应用程序,并且弹出一个WindowsCMD控制台,我需要它来监视标准输入/输出。有没有办法可以立即最小化这个CMD窗口?控制台窗口本身会干扰Popen()启动的应用程序,因为它会遮挡可见的桌面。我在winXP32和Python2.6上。谢谢! 最佳答案 如果CMD控制台有一个明确的标题,您可以获取它的句柄并将其最小化(在进程启动后):importwin32guihandle=win32gui.FindWindow(None,cmd_window_title)win32gui.ShowWi